var drawSeat = require("./namespace");

require("./geo/PositionConstants");
require("./geo/Point");
require("./geo/Rectangle");
require("./geo/Line");

require("./CommandStack");
require("./command/Command");
require("./command/CommandAdd");

require("./Canvas");
require("./Figure");
require("./VectorFigure");
require("./shape/Rectangle");
require("./shape/Oval");
require("./shape/Circle");
require("./shape/Line");
require("./shape/Polygon");

require("./ResizeHandle");
require("./RotateHandle");
require("./VertexResizeHandle");

require("./policy/Policy");
require("./policy/canvas/CanvasPolicy");
require("./policy/canvas/KeyboardPolicy");
require("./policy/canvas/UniquePolicy");
require("./policy/canvas/BasisShapePolicy");

require("./policy/canvas/SeatPolicy");
require("./policy/canvas/DragDropPolicy");
require("./policy/canvas/SelectionPolicy");
require("./policy/canvas/PolygonPolicy");
require("./policy/canvas/RowSeatPolicy");
require("./policy/canvas/MatrixSeatPolicy");

// 绘制基础图形
require("./policy/canvas/CirclePolicy");
require("./policy/canvas/RectanglePolicy");

require("./policy/canvas/DefaultKeyboardPolicy");

require("./policy/figure/DragDropPolicy");
require("./policy/figure/RegionPolicy");
require("./policy/figure/SelectionPolicy");
require("./policy/figure/RectangleSelectionPolicy");
require("./policy/figure/VertexSelectionPolicy");

// 扩展图形
require("./extend/shape/SeatCircle");

require("./io/Reader");
require("./io/Writer");

window[drawSeat.namespace] = drawSeat;

module.exports = drawSeat;
